<!DOCTYPE html>
<title>Element#requestFullscreen() twice</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../trusted-click.js"></script>
<div id="log"></div>
<script>
async_test(t => {
  const div = document.querySelector("div");

  document.onfullscreenchange = t.step_func(() => {
    assert_equals(document.fullscreenElement, div);
    // Done, but ensure that there's only one fullscreenchange event.
    document.onfullscreenchange = t.unreached_func("second fullscreenchange event");
    step_timeout(t.step_func_done());
  });
  document.onfullscreenerror = t.unreached_func("fullscreenerror event");

  trusted_click(t, () => {
    // Request fullscreen twice.
    div.requestFullscreen();
    assert_equals(document.fullscreenElement, null, "fullscreenElement after first requestFullscreen()");
    div.requestFullscreen();
    assert_equals(document.fullscreenElement, null, "fullscreenElement after second requestFullscreen()");
  }, document.body);
});
</script>
